// Hier Prefab fuer Explosion reinladen
var myExplosion : GameObject;
// 
var myTarget : Transform;
// Wie schnell das Geschoss fliegt
var geschwindigkeit : float = 50;
// Die Reichweite bis zum Selbstzerstoeren des Geschoss
private var reichweite : float = 1000;

// Die zurueckgelegte Distanz des Geschoss
var distanz : float;

var schadenspunkte : float = 25;


function Start(){}

function Update ()
{
        // Time.deltaTime liefert die genaue Zeit, die seit dem letzten Frame verstrichen ist
        // Translation ueber Geschwindigkeit * Zeit in alle Richtungen
        transform.Translate(Vector3.forward * Time.deltaTime * geschwindigkeit);
        // Distanz in Geschwindigkeit * Zeit mit berechnen
        distanz += Time.deltaTime * geschwindigkeit;
        // Abfrage ob ueber Reichweite
        if(distanz >= reichweite)
                Explode();
                
        if(myTarget)
        {
                /* Richtet konstant auf das Ziel aus */
                transform.LookAt(myTarget);
        }
        // Falls das Ziel verloren geht muss die Rakete weg
        else
        {
                Explode();
        }
}
/* Trigger im Raketeninneren zu Kollisionserkennung*/
function OnTriggerEnter(other : Collider)
{
        /* Falls Feindkollision */
        if(other.gameObject.tag == "Enemy_Air")
        {

       		// Am getroffenen Gegner Schadensmodell
			// ggf. SendMessageOptions.DontRequireReceiver einfuegen falls Fehler
			other.gameObject.SendMessage("schaden", schadenspunkte);
			Explode();
        }
}

function Explode()
{
        /* Hier Prefab fuer eine Explosion reinladen*/
        Instantiate(myExplosion, transform.position, Quaternion.identity);
        /* Raketenobjekt verschwinden lassen */
        Destroy(gameObject);
}